package file;

import java.io.File;
import java.io.FileFilter;
import java.util.logging.Filter;

/**
 * listFiles()方法提供了一个重载，可以传入一个文件过滤器FileFilter
 * 该方法在获取一个目录中的子项时仅会将所有满足过滤器要求的子项返回
 */
public class ListFilesDemo2 {
    public static void main(String[] args) {
        //仅获取当前项目目录下的所有文本文件
        File dir=new File(".");
        if(dir.isDirectory()){
            FileFilter filter=new FileFilter() {
                public boolean accept(File pathname) {
                    String name=pathname.getName();
                    return name.endsWith(".txt");//判断是否以".txt"结尾
                }
            };
            //返回目录中所有满足过滤器要求的子项
            File[] subs=dir.listFiles(filter);
            for(File sub:subs){
                System.out.println(sub);
            }
        }else{
            System.out.println("不是目录或不存在");
        }
    }
}
